package controlador;

import interfaz.IVista;
import interfaz.InterfazPedido;
import interfaz.ListaPedidos;

import java.awt.event.ActionEvent;

import sistemaAlmacen.Pedido;
import fachada.FachadaAlmacen;
import fachada.IFachada;

public class ControladorListaPedidos extends ControladorAbstracto<FachadaAlmacen, ListaPedidos> {

	public ControladorListaPedidos(IFachada fachada, IVista vista) {
		super(fachada, vista);
		
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		String command = e.getActionCommand();
		System.out.println(command);
		
		if(command.startsWith("PEDIDO_")){
		
			int idPedido = Integer.parseInt( command.split("_")[1] );
			Pedido pedido = this.fachada.obtenerPedido(idPedido);
			this.fachada.setPedidoActual(pedido);
			
			InterfazPedido vPedido = new InterfazPedido();
			ControladorPedido cPedido = new ControladorPedido(this.fachada, vPedido);
			
			vPedido.registerListener(cPedido);
			vPedido.setLblEstado(pedido.getEstado());
			vPedido.setTxtNombreProovedor(pedido.getNombreProveedor());
			vPedido.setTxtEmailProveedor(pedido.getEmailProveedor());
			
			vPedido.populateTable(pedido.getArticulos());
			vPedido.populateCmbArticulos(this.fachada.consultarInventario());
			this.vista.setPanelFuncionalidad(vPedido);
			this.vista.update();
			
		}else if(command.equalsIgnoreCase("nuevo")){
			
			this.fachada.crearPedido();
			
			this.vista.populateTable(this.fachada.consultarPedidos(), this);
			this.vista.update();
		}
		
	}

}
